package com.fanketly.funacg2.data.paging

import androidx.compose.foundation.lazy.LazyListState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.paging.compose.LazyPagingItems

@Composable
fun <T : Any> LazyPagingItems<T>.rememberLazyListState(): LazyListState {
//重新创建后，LazyPageItems首先返回0个项目，然后返回缓存的项目。
//此行为/问题正在重置LazyListState滚动位置。
//以下是解决方法。更多信息：https://issuetracker.google.com/issues/177245496
    return when (itemCount) {
        // 返回不同的 LazyListState 实例。
        0 -> remember(this) { LazyListState(0, 0) }
        //返回记住懒惰列表状态（正常情况）。
        else -> androidx.compose.foundation.lazy.rememberLazyListState()
    }
}